﻿using ClockInLearning.Db;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace ClockInLearning.Dto
{
    public class UserInfoBaseDto : BaseDto<Guid>
    {
        public string Account { get; set; }
        public string UserName { get; set; }
        public string Phone { get; set; }
        public string Email { get; set; }
        public string Avatar { get; set; }
        public string OpenId { get; set; }
        public int PrivatePoints { get; set; }
        public int HisPrivatePoints { get; set; }
        public int RecognizedPoints { get; set; }
        public int HisRecognizedPoints { get; set; }
        public int CumulativeLearnedTime { get; set; }
        public int CumulativePlayedTime { get; set; }
    }

    public class UserInfoInputDto : UserInfoBaseDto
    {
        public string Password { get; set; }
    }

    public class UserInfoOutputDto : UserInfoBaseDto, IUserInfo
    {
        // 输出时不需要将id暴露
        public override Guid Id => Guid.Empty;
    }

    public class UserInfoAndWeekStaticDto: UserInfoOutputDto
    {
        public string StaticTitle { get; set; }
        public List<int> AddRegistStatic { get; set; }
        public List<int> UseRegistStatic { get; set; }
    }

    public class UserInfoLoginDto
    {
        public string Token { get; set; }

        public UserInfoAndWeekStaticDto UserInfo { get; set; }
    }

    public class UserListDto
    {
        public string Account { get; set; }
        public string UserName { get; set; }
        public string Avatar { get; set; }
        public int PrivatePoints { get; set; }
        public int RecognizedPoints { get; set; }
    }
}
